There are several formats for compressing motion video information. Some compression formats use intraframe compression, while other compression formats use both interframe and intraframe compression. A compression format that uses both interframe and intraframe compression is commonly called a long GOP compression format because a sequence of images is broken into several groups of images (a group of pictures or GOP) that are compressed together. In particular, in each group of pictures, at least one image is intraframe encoded and is typically called an I-frame. Some images are compressed based on a difference from a prior image. These images are referred to as being predictively encoded or P-frames. Yet other images are compressed based on a difference between two other images. These images are referred to as being bidirectionally encoded or B-frames. I-frames and P-frames also are called reference frames.
Some long GOP compression formats are included in standards such as, but not limited to, the standards commonly known as MPEG-2 (formally known as ISO/IEC 13818-2 or ITU-T Rec. H.262) and H.264 (formally known as ISO/IEC 14496-10 or ITU-T Rec. H.264). Other long GOP compression formats may borrow concepts from or use parts of these standards. For example, a format known as HDV encodes a high-definition image sequence using MPEG-2 encoding. Other example long GOP compression formats include MPEG-4, AVC and VC-1. MPEG-2 permits groups of pictures to be compressed using only I-frames, a combination of I-frames and P-frames, or a combination of I-frames, P-frames and B-frames.
The compressed data resulting from compressing motion video information usually is stored in a data file. An example data file format is the Material eXchange Format (MXF), which is the subject of the standardization process of the Society of Motion Picture and Television Engineers (SMPTE), and is defined in documents including SMPTE S377M through 394M, with SMPTE Engineering Guidelines EG41 and 42.
Image index information for compressed motion video information is used to map the temporal position of an image in decompressed motion video information to a position of its corresponding compressed data in the compressed bitstream. Temporal positions used with the image index information correspond to the desired playback order. The image index information may include a known amount of data for each image if the compression process produces the same amount of compressed data for each compressed image. If the compression process produces a different amount of data for each compressed image, which is typical for long GOP compression formats, then an image index is created and used.
In some long GOP compression formats, such as MPEG-2, the temporal order of the compressed images is different from the order in which the compressed data appears in the compressed bitstream. Thus the image index maps the temporal order of images to the bitstream order of the compressed data for the images and to the position of the compressed data in the compressed bitstream. Such an image index is described in U.S. Pat. Nos. 6,337,880, 6,584,152 and 6,792,433.
Because long GOP compression formats were designed primarily for continuous playback, long GOP compressed motion video information presents challenges for editing systems that use such video information to create video programs. Editing systems generally permit an editor to specify a sequence of scenes, where each scene is defined by a reference to video information (called a source) and a range within that video information (usually specified by a starting image or mark-in point and an ending image or mark-out point). Generally, an editing system permits an editor to specify any image within a source as a start or stop point. When such a sequence of scenes is played back, the editing system identifies the group of pictures within which each start point for a scene is located, and decompresses at least part of that group of pictures that precedes the desired start point. This decompression adds complexity to an editing system that uses long GOP compressed motion video information.
There are other operations that an editor may perform while editing a video program that become more complex when the editing system uses long GOP compressed motion video information. These operations include reverse play, fast forward play, jogging, shuttling, scrubbing, trimming and single frame playback. When playing back long GOP compressed motion video information at a rate that is faster than full-speed playback (such as for shuttling or jogging operations), or in reverse, or by accessing a single frame (such as for scrubbing or trimming operations) each frame to be played back is, in essence, randomly accessed from the stored compressed bitstream. These kinds of playback operations (faster than full-speed, reverse playback and single frame playback) are referred to as “off-speed” playback. Because most frames require compressed data from more than one frame to be decompressed, random access of each individual frame during offspeed playback can require significant processing.